Wireless M-Bus
This category contains functions specific to Wireless M-Bus devices.
- Overview
- Operations
- Arguments
- Return
- Examples
Changes the configuration of wM-Bus.
- power (integer) - Set wM-Bus power
- "ROLE" - Set wM-Bus role
- "MODE" - Set wM-Bus mode
- "IGNORE_CRC" - Set CRC ignore
- "DISABLE_MADDALENA_ARROW_SUPPORT" - Disable Maddalena Arrow support
- "FREQ_OFFSET" - Set frequency offset
- "RX_DUTY_CYCLE" - Set RX duty cycle
- "SONTEX_CONFIG" - Set SONTEX configuration
- "SONTEX_TUNE" - Sontex frequency offset scan
api.wmbusSetup(power, role, mode)
- power (integer) - wM-Bus power:
-20,-10,0,2,4, ... [dBm] - role (string) - wM-Bus role:
"master","slave","meter","concentrator","repeater" - mode (string) - wM-Bus mode:
"S1","S2","T1","T2","T1_C","T2_C","R","METRA","SENSUS434","SONTEX433","BUP433","BUP868"
api.wmbusSetup("ROLE", role)
- operation (string)
- role (string) - wM-Bus role:
"master","slave","meter","concentrator","repeater"
api.wmbusSetup("MODE", mode)
- operation (string)
- mode (string) - wM-Bus mode:
"S1","S2","T1","T2","T1_C","T2_C","R","METRA","SENSUS434","SONTEX433","BUP433","BUP868"
api.wmbusSetup("IGNORE_CRC", ignore)
- operation (string)
- ignore (integer) - 1 for true, 0 for false
api.wmbusSetup("DISABLE_MADDALENA_ARROW_SUPPORT", disable)
- operation (string)
- disable (integer) - 1 for true, 0 for false
api.wmbusSetup("FREQ_OFFSET", offset)
- operation (string)
- offset (integer) - Set frequency offset in range from -99999 to 99999 Hz
api.wmbusSetup("RX_DUTY_CYCLE", dutyCycle, rxTime, sleepTime)
- operation (string)
- dutyCycle (integer) - Property value, or duty cycle state (true, false)
- rxTime (integer) - Duty cycle RX time
- sleepTime (integer) - Duty cycle Sleep time
api.wmbusSetup("SONTEX_CONFIG", pingRetry, readRetry, prePing, preRead, dither, demodulation)
- operation (string)
- pingRetry (integer) - Set ping retry value, range from 0 to 20
- readRetry (integer) - Set read retry value, range from 0 to 20
- prePing (integer) - Set preamble ping value, range from 0 to 10000
- preRead (integer) - Set preamble read value, range from 0 to 10000
- dither (integer) - Set dither on entry value, range from 0 to 2000
- demodulation (integer) - Set demodulation method,
1for new method (oversampling, experimental),0for old method
api.wmbusSetup("SONTEX_TUNE", address, onlyRough)
- operation (string)
- address (integer) - Set address of the device to tune
- onlyRough (integer, optional) - Set only rough tuning,
1for true,0for false
api.wmbusSetup(power, role, mode)
- status (integer) - 0 for success, -1 for failure
api.wmbusSetup("ROLE", role)
- status (integer) - 0 for success, -1 for failure
api.wmbusSetup("MODE", mode)
- status (integer) - 0 for success, -1 for failure
api.wmbusSetup("IGNORE_CRC", ignore)
- status (integer) - 0 for success, -1 for failure
api.wmbusSetup("DISABLE_MADDALENA_ARROW_SUPPORT", disable)
- status (integer) - 0 for success, -1 for failure
api.wmbusSetup("FREQ_OFFSET", offset)
- offset (integer) - Set frequency offset
api.wmbusSetup("RX_DUTY_CYCLE", dutyCycle, rxTime, sleepTime)
- dutyCycle (integer) - Set duty cycle state
- rxTime (integer) - Set duty cycle RX time
- sleepTime (integer) - Set duty cycle Sleep time
api.wmbusSetup("SONTEX_CONFIG", pingRetry, readRetry, prePing, preRead, dither)
- pingRetry (integer) - Set ping retry value
- readRetry (integer) - Set read retry value
- prePing (integer) - Set preamble ping value
- preRead (integer) - Set preamble read value
- dither (integer) - Set dither on entry value
api.wmbusSetup("SONTEX_TUNE", address, onlyRough)
- status (integer) - 1 for success, 0 for failure
- bestOffset (integer) - Best frequency offset found
Example how to set wM-Bus power to 10 dBm, role master/concentrator and T2 mode:
api.wmbusSetup(10, "master", "T2")
Example how to set role:
api.wmbusSetup("ROLE", "master")
Example how to set mode:
api.wmbusSetup("MODE", "T1_C")
Example how to set CRC ignore:
api.wmbusSetup("IGNORE_CRC", true)
Example how to disable Maddalena Arrow support:
api.wmbusSetup("DISABLE_MADDALENA_ARROW_SUPPORT", true)
Example how to set frequency offset:
freq = api.wmbusSetup("FREQ_OFFSET", 1000)
print(freq)
Example how to set RX duty cycle:
dutyCycle, rxTime, sleepTime = api.wmbusSetup("RX_DUTY_CYCLE", 1, 1000, 1000)
print("Duty cycle: " .. dutyCycle .. ", RX time: " .. rxTime .. ", Sleep time: " .. sleepTime)
Example how to set Sontex configuration:
pingRetry, readRetry, prePing, preRead, dither = api.wmbusSetup("SONTEX_CONFIG", 10, 10, 2000, 2000, 1000)
print("Set arguments: " .. pingRetry .. ", " .. readRetry .. ", " .. prePing .. ", " .. preRead .. ", " .. dither)
- Overview
- Arguments
- Return
- Example
Sets wM-Bus header.
- cfield (integer) - wM-Bus C field, max value
0xff - manid (integer) - Manufacturer ID, max value
0xffff - id (integer) - ID of wM-Bus device (32 bit)
- version (integer) - Version fields, max value
0xff - devtype (integer) - Device version field, max value
0xff - ci (integer) - CI field, max value
0xff
- status (integer) - 0 for success, -1 for failure
-- Set wM-Bus header for specific device
print("--- wM-Bus T1 Digital Thermometer ---")
api.wmbusSetup(10, "meter", "T1")
api.wmbusSetHeader(123, 123456, 2, 33, 17)
- Overview
- Arguments
- Return
- Example
Sends frame through wM-Bus.
- data (string) - Frame to be sent
- status (integer) - Positive or 0 for success, negative for failure
-- Send wM-Bus frame
api.wmbusSendFrame(frame)
- Overview
- Arguments
- Return
- Example
Waits for data reception from wM-Bus.
SONTEX433 mode
api.wmbusReceiveFrame(timeout, id)
- timeout (integer) - The maximum time in milliseconds to wait for WMBUS device answer
- id (integer) - ID of wM-Bus device (32 bit)
Other modes
api.wmbusReceiveFrame(timeout, debugOn, useFilter)
- timeout (integer) - The maximum time in milliseconds to wait for WMBUS device answer
- debugOn (integer, optional) - Debug on: 1 for true, 0 for false
- useFilter (integer, optional) - Use filter: 1 for true, 0 for false
METRA mode
- status (integer) - Positive or 0 for success, negative for failure
- cField (nil) - Unused field, pushed as
nil - manID (integer) - Manufacturer ID (
0x0614for Apator SA) - devID (integer) - Unique 32-bit ID of the wM-Bus device
- ver (nil) - Unused field, pushed as
nil - devType (integer) - Device type field (max value
0xff) - ciField (nil) - Unused field, pushed as
nil - dataOnly (string) - Data-only portion of the frame
- rawFrame (string) - Complete frame, including length and CRC
- filterIndex (integer) - Index of the filter
- rssi (integer) - Received Signal Strength Indicator
- frameType (string) - Identifier for METRA:
"M" - transportType (string) - Error/status message, default
"ERR"
SONTEX433 mode
- status (integer) - Positive or 0 for success, negative for failure
- cField (nil) - Unused field, pushed as
nil - manID (integer) - Manufacturer ID (
0x4DEEfor Sontex SA) - devID (integer) - Unique 32-bit ID of the wM-Bus device
- ver (nil) - Unused field, pushed as
nil - devType (nil) - Unused field, pushed as
nil - ciField (nil) - Unused field, pushed as
nil - dataOnly (string) - Data-only portion of the frame
- rawFrame (string) - Complete frame, including length and CRC
- filterIndex (nil) - Unused field, pushed as
nil - rssi (integer) - Received Signal Strength Indicator
- frameType (string) - Identifier for SONTEX433:
"SONTEX433" - transportType (string) - Error/status message, default
"ERR"